Comparison device and method for comparing test pattern files of a wafer tester

ABSTRACT

A comparison device for comparing test pattern files of a wafer tester includes a storage unit and a processing unit. The comparison device stores a first to-be-compared file and a second to-be-compared file into the storage unit. The processing unit reads the first to-be-compared file and the second to-be-compared file from the storage unit to process and executes comparison operation, so as to generate a comparison result. The comparison operation compares the words in a first section of the first to-be-compared file with the words in a second section of the second to-be-compared file in a one-to-one manner, wherein, if the first section ending point is not the end of the first to-be-compared file or the second section ending point is not the end of the second to-be-compared file, the processing unit resets the first section and the second section, and executes comparison operation again.

CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation-in-part (CIP) of U.S. patent application for “comparison device and method for comparing test pattern files of a wafer tester”, U.S. application Ser. No. 12/929,839, filed on Feb. 18, 2011.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to the technical field of file comparison for wafer testing and, more particularly, to a comparison device and method for comparing test pattern files of a wafer tester.

2. Description of Related Art

Currently, for testing wafers, wafer manufacturers typically place a wafer under test inside a wafer tester and a corresponding test pattern file, which is built up according to the wafers under test, is inputted into the wafer tester for executing test procedure. Please refer to FIG. 1, which is a schematic diagram of inputting a test pattern file into a conventional wafer tester. As shown in FIG. 1, the test pattern file 10 is inputted into the wafer tester 1, and the wafer tester 1 generates corresponding analog test waveforms according to the test pattern file 10 for executing test procedure on a wafer under test.

Please refer to FIG. 2, which is a schematic diagram of a conventional test pattern file. The test pattern file 10 is a text file, the content of which is a large amount of words and the file size is greater than 1 GB. Since the test pattern file 10 is built up according the wafer under test, for manufacturers, the corresponding test pattern files should be built up according to different kinds of wafers with different sizes, patterns or functions for testing. In the prior art, a comparison software may be used if it is desired to compare the difference between different test pattern files to execute procedures, such as debugging. However, the comparison speed of the conventional comparison software is related to the file size, and thus the comparison speed may be decreased seriously if file size is too large. Since the file size of the test pattern file is quite large, there is no way to compare two files efficiently in the prior art. Accordingly, errors may occur easily and the time cost is high when comparing the content of files manually, and mistakes in the test pattern file may cause errors on testing, resulting in problems such as reworking, customer complaints, or even indemnity.

Therefore, it is desirable to provide a comparison device and method for comparing test pattern files of a wafer tester to mitigate and/or obviate the aforementioned problems.

SUMMARY OF THE INVENTION

The object of the present invention is to provide a comparison device and method for comparing test pattern files of a wafer tester, which can compare the content of two test pattern files quickly.

According to one aspect, the present invention which achieves the object relates to a comparison device for comparing test pattern files of a wafer tester, which is provided for comparing a first to-be-compared file with a second to-be-compared file, wherein the first to-be-compared file and the second to-be-compared file are text files. The comparison device includes: a storage unit for storing the first to-be-compared file and the second to-be-compared file; and a processing unit for processing and executing comparison operation for the first to-be-compared file and the second to-be-compared file to generate a comparison result, the comparison operation comparing words in a first section of the first to-be-compared file with words in a second section of the second to-be-compared file in a one-to-one manner, wherein, if it is determined that the first section ending point is not the end of the first to-be-compared file or the second section ending point is not the end of the second to-be-compared file, the processing unit resets the first section starting point, the first section ending point, the second starting point and the second section ending point, and executes comparison operation again, and wherein locations of the first section starting point and the second section starting point are determined by the processing unit according to the comparison result and, if it is determined that the first to-be-compared section has a terminal inserting part, a reset location of the first section starting point is in the terminal inserting part and the word on the first section starting point replaces the terminal inserting part.

According to another aspect, the present invention which achieves the object relates to a comparison method for comparing test pattern files of a wafer tester, which is used for comparing a first to-be-compared file with a second to-be-compared file by a computer device, the first to-be-compared file and the second to-be-compared file being text files, the computer device including a storage unit for storing files and a processing unit for processing and executing comparison operation to generate a comparison result, the comparison operation being to compare words in a first section of the first to-be-compared file with words in a second section of the second to-be-compared file. The comparison method includes the steps of: (A) inputting the first to-be-compared file and the second to-be-compared file into the comparison device; (B) the comparison device storing the first to-be-compared file and the second to-be-compared file into the storage unit; (C) the processing unit reading the first to-be-compared file and the second to-be-compared file from the storage unit, setting up a first section starting point and a first section ending point in the first to-be-compared file, setting up a second section starting point and a second section ending point in the second to-be-compared file, reading content in-between the first section starting point and the first section ending point as a first to-be-compared section, and reading content in-between the second section starting point and the second section ending point as a second to-be-compared section, executing comparison operation, and generating the comparison result; (D) the processing unit determining whether the first section ending point is an end of the first to-be-compared file and the second section ending point is an end of the second to-be-compared file and, if yes, finishing the method, otherwise executing step (E); (E) the processing unit resetting the first section starting point and the first section ending point in the first to-be-compared file, and resetting the second section starting point and the second section ending point in the second to-be-compared file, wherein locations of the first section starting point and the second section starting point are determined by the processing unit according to the comparison result and, if it is determined that the first to-be-compared section has a terminal inserting part, a reset location of the first section starting point is in the terminal inserting part and the word on the first section starting point replaces the terminal inserting part, and then executing comparison operation and generating the comparison result.

Other objects, advantages, and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram of inputting a test pattern file into a conventional wafer tester;

FIG. 2 is a schematic diagram of a conventional test pattern file;

FIG. 3 is a schematic diagram of the comparison device according to an embodiment of the present invention;

FIG. 4 is a flow chart of the comparison method according to an embodiment of the present invention;

FIG. 5A is a schematic diagram of the section score table according to an embodiment of the present invention;

FIG. 5B is a schematic diagram of the comparison result of the section score table according to an embodiment of the present invention;

FIG. 6A is a schematic diagram of the section score table according to another embodiment of the present invention;

FIG. 6B is a schematic diagram of the comparison result of the section score table according to another embodiment of the present invention;

FIG. 7A is a schematic diagram of setting up the to-be-compared sections in the two to-be-compared files;

FIG. 7B is a schematic diagram of a comparison result of the two to-be-compared sections;

FIG. 7C schematically illustrates further data of the to-be-compared files discontinued with the comparison result;

FIG. 8A is a schematic diagram of setting up the to-be-compared sections in the two to-be-compared files according to a preferred embodiment of the invention;

FIG. 8B is schematic diagram of a comparison result of the two to-be-compared sections according to a preferred embodiment of the invention;

FIG. 8C schematically illustrates further data of the to-be-compared files continued with the comparison result according to a preferred embodiment of the invention;

FIG. 9 is a flow chart of a further comparison method for comparing test pattern files of a wafer tester according to the embodiment in FIGS. 8A, 8B and 8C of the present invention; and

FIG. 10 is a detailed flow chart of step (S5) of FIG. 9 of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

With reference to FIG. 3, there is shown a schematic diagram of the comparison device for comparing test pattern files of a wafer tester according to an embodiment of the present invention. As shown in FIG. 3, the comparison device 2 comprises a storage unit 21 and a processing unit 22, wherein the storage unit 21 is provided for storing a first to-be-compared file 201 and a second to-be-compared file 202 input by users, and the processing unit 22 is provided for processing and executing comparison operation for the first to-be-compared file 201 and the second to-be-compared file t 202, to thereby generate a comparison result 203. The comparison operation is to compare the words in a first section of the first to-be-compared file 201 with the words in a second section of the second to-be-compared file 202 in a one-to-one manner.

Please refer to FIG. 4, which is a flow chart of the comparison method for comparing test pattern files of a wafer tester according to an embodiment of the present invention. The comparison device 2 is preferably a computer device. When comparing files by the comparison device 2, the first to-be-compared file 201 and the second to-be-compared file 202 are first input into the comparison device 2, wherein the first to-be-compared file 201 and the second to-be-compared file 202 are text files and the file size of each of the first to-be-compared file 201 and the second to-be-compared file 202 can be greater than 1 GB. The comparison device 2 stores the first to-be-compared file 201 and the second to-be-compared file 202 into the storage unit 21 (step S1). The processing unit 22 sets up a first section starting point and a first section ending point in the first to-be-compared file 201, reads the content in-between the first section starting point and the first section ending point as a first to-be-compared section, sets up a second section starting point and a second section ending point in the second to-be-compared file 202, and reads the content in-between the second section starting point and the second section ending point as a second to-be-compared section, wherein the first section starting point is set up at the start of the first to-be-compared file 201, and the second section starting point is set up at the start of the second to-be-compared file (step S2). The processing unit 22 compares the words in the first to-be-compared section with the words in the second to-be-compared section in a one-to-one manner, and generates a comparison result (step S3). The processing unit 22 resets the first section starting point, the first section ending point, the second section starting point and the second section ending point, and reads the content in-between the first section starting point and the first section ending point as a first to-be-compared section, and reads the content in-between the second section starting point and the second section ending point as a second to-be-compared section (step S4). The processing unit 22 compares the words in the first to-be-compared section with the words in the second to-be-compared section in a one-to-one manner, and generates a comparison result again (step S5). The processing unit 22 determines whether the first section ending point is the end of the first to-be-compared file and the second section ending point is the end of the second to-be-compared file (step S6); if yes, the processing unit processes the generated comparison results to generate the comparison result (step S7), otherwise, returning to step S4.

The comparison operation executed for the first to-be-compared section and the second to-be-compared section by the processing unit 22 is preferably to first generate a section score table according to the words in the first to-be-compared section and the second to-be-compared section. Please refer to FIG. 5A, which is a schematic diagram of the section score table according to an embodiment of the present invention. As shown in FIG. 5A, the first to-be-compared section D is AATGC, and the second to-be-compared section D′ is ATGGC. The processing unit 22 compares the words in the first to-be-compared section D with the words in the second to-be-compared section D′ in a one-to-one manner, and fills comparison results in the section score table.

In this embodiment, the processing unit 22 compares the words in the first to-be-compared section D with the words in the second to-be-compared section D′ in a one-to-one manner according to the following equation for providing the comparison result of the shortest path:

${{S\left( {i,0} \right)} = {0 - i}},{{S\left( {0,j} \right)} = {0 - j}},{{S\left( {i,j} \right)} = {{Max}\left\{ {\begin{matrix} {{S\left( {{i - 1},{j - 1}} \right)} + 1} & {{{if}\mspace{14mu} {D(i)}} = {D^{\prime}(j)}} \\ {S\left( {{i - 1},{j - 1}} \right)} & {{{if}\mspace{14mu} {D(i)}} \neq {D^{\prime}(j)}} \\ {{S\left( {i,{j - 1}} \right)} - 1} & \; \\ {{S\left( {{i - 1},j} \right)} - 1} & \; \end{matrix},{i = 1},2,3,{{\ldots j} = 1},2,{3\mspace{14mu} \ldots}} \right.}}$

where i is the ordinal number of the words in the first to-be-compared section, j is the ordinal number of the words in the second to-be-compared section, S(i, j) is the numbers, D(i) and D′(j) are the contents of the first to-be-compared section D and the second to-be-compared section D′ respectively, and the source direction indexes are one-to-one mapping to the numbers to record a source direction of the numbers S(i, j).

First, S(1, 1) is calculated by substituting i=1 and j=1 into the above equation:

${S\left( {1,1} \right)} = {{Max}\left\{ {\begin{matrix} {{S\left( {0,0} \right)} + 1} & {{{if}\mspace{14mu} {D(1)}} = {D^{\prime}(1)}} \\ {S\left( {0,0} \right)} & {{{if}\mspace{14mu} {D(1)}} \neq {D^{\prime}(1)}} \\ {{S\left( {1,0} \right)} - 1} & \; \\ {{S\left( {0,1} \right)} - 1} & \; \end{matrix},{{{where}\mspace{14mu} {D(1)}} = A},{{D^{\prime}(1)} = A},{{i.e.{D(1)}} = {\left. {{D^{\prime}(1)}.}\Rightarrow{S\left( {1,1} \right)} \right. = {{Max}\left\{ {\left. \begin{matrix} {{0 + 1} = 1} \\ {{{- 1} - 1} = {- 2}} \\ {{{- 1} - 1} = {- 2}} \end{matrix}\Rightarrow{S\left( {1,1} \right)} \right. = 1} \right.}}}} \right.}$

Therefore, S(1, 1) is calculated as 1.

Next, S(1, 2) is calculated by substituting i=1 and j=2 into the above equation:

${S\left( {1,2} \right)} = {{Max}\left\{ {\begin{matrix} {{S\left( {0,1} \right)} + 1} & {{{if}\mspace{14mu} {D(1)}} = {D^{\prime}(2)}} \\ {S\left( {0,1} \right)} & {{{if}\mspace{14mu} {D(1)}} \neq {D^{\prime}(2)}} \\ {{S\left( {1,1} \right)} - 1} & \; \\ {{S\left( {0,2} \right)} - 1} & \; \end{matrix},{{{where}\mspace{14mu} {D(1)}} = A},{{D^{\prime}(2)} = T},{\left. {{i.e.{D(1)}} \neq {{D^{\prime}(2)}.}}\Rightarrow{S\left( {1,2} \right)} \right. = {{Max}\left\{ {\left. \begin{matrix} {- 1} \\ {{1 - 1} = 0} \\ {{{- 2} - 1} = {- 3}} \end{matrix}\Rightarrow{S\left( {1,2} \right)} \right. = 0} \right.}}} \right.}$

Thus, S(1, 2) is calculated as 1.

In the operation process of the section score table, the processing unit 22 preferably compares each word D(i) in the first to-be-compared section with each word D′(j) in the second to-be-compared section, then uses a flag array to record whether they are the same or not, and calculates all of the S(i, j) according to the flag array.

The processing unit 22 calculates the values of S(1, 1) to S(5, 5) respectively according to the above operation process and stores them to a number array. The processing unit 22 simultaneously determines the corresponding direction index P(i, j) according to the calculated values of S(i ,j) during the operation process, and stores the direction indexes P(i, j) to a direction array. For example, S(1, 2)=0 is calculated from the value of S(1, 1) according to the equation and the above operation process, thus, the corresponding direction index P(1, 2) points to S(1, 1).

Next, the processing unit 22 generates a comparison result according to the calculated S(i, j) and the corresponding direction index P(i, j). The comparison result is a section backtracking path, which backtracks from the lower right corner of the section score table; i.e., P(5, 5) points to S(4, 4), P(4, 4) points to S(3, 3), P(3, 3) points to S(2, 2), and P(2, 2) points to S(1, 1), so that the section backtracking path of the comparison operation can be obtained. With reference to FIG. 5B, which is a schematic diagram of the comparison result of the section score table according to an embodiment of the present invention. As shown in FIG. 5B, the differences of the first to-be-compared section D and the second to-be-compared section D′ are directly marked in the comparison result of this embodiment.

Please refer to FIG. 6A, which is a schematic diagram of the section score table according to another embodiment of the present invention. The processing unit 22 executes comparison operation for the first to-be-compared section D and the second to-be-compared section D′ according to the following equation for providing the comparison result of the best insertion:

${{S\left( {i,0} \right)} = {0 - i}},{{S\left( {0,j} \right)} = {0 - j}},{{S\left( {i,j} \right)} = {{Max}\left\{ {\begin{matrix} {{S\left( {{i - 1},{j - 1}} \right)} + 2} & {{{if}\mspace{14mu} {D(i)}} = {D^{\prime}(j)}} \\ {{S\left( {{i - 1},{j - 1}} \right)} - 1} & {{{if}\mspace{14mu} {D(i)}} \neq {D^{\prime}(j)}} \\ {S\left( {i,{j - 1}} \right)} & \; \\ {S\left( {{i - 1},j} \right)} & \; \end{matrix},{i = 1},2,3,{{\ldots j} = 1},2,{3\mspace{14mu} \ldots}} \right.}}$

The processing unit 22 calculates the values of S(1, 1) to S(5, 5), determines the direction indexes P(1, 1) to P(5, 5) according to the calculated values, generates the backtracking path and obtains the comparison result. With reference to FIG. 6B, which is a schematic diagram of the comparison result of the section score table according to another embodiment of the present invention. As shown in FIG. 6B, the word insertion points in the first to-be-compared section D and the second to-be-compared section D′ are marked in the comparison result of this embodiment.

The comparison method according to the present invention respectively cuts two to-be-compared files into multiple to-be-compared sections and compares the sections in a one-to-one manner. Thus, the comparison speed does not decrease quickly with the increasing of the file size. However, the file connection between the cut to-be-compared sections may cause discontinuity in the comparison result, and thus reduce the comparison accuracy. Therefore, the comparison method of the present invention performs a determination on the comparison result for adjusting the position of the section starting point when resetting the to-be-compared section, so as to avoid comparison accuracy reduction caused by discontinuity.

FIGS. 7A to 7C are schematic diagrams of the discontinuity, wherein FIG. 7A is a schematic diagram of to-be-compared sections of two to-be-compared files, FIG. 7B is a schematic diagram of a comparison result of the two to-be-compared sections, and FIG. 7C schematically illustrates further data of the to-be-compared files discontinued with the comparison result. As shown in FIG. 7A, the first to-be-compared file D has the words of “ATCGTTAACG . . . ”; the second to-be-compared file D′ has the words of “ATGTTAACTT . . . ”; the processing unit 22 sets up the first to-be-compared section t1 in the first to-be-compared file D; the first to-be-compared section t1 has words of “ATCGT”; the processing unit 22 sets up the first to-be-compared section t1′ in the first to-be-compared file D′; the first to-be-compared section t1′ has words of “ATGTT”, i.e., the start point of the first to-be-compared section t1 is the first word of the first to-be-compared file D; the start point of the second to-be-compared section t1′ is the first word of the second to-be-compared file D′. Then, the processing unit 22 compares the words in the first to-be-compared section t1 with the words in the second to-be-compared section t1′ in a one-to-one manner, so as to generate a comparison result. After the comparison using the best insertion method, as shown in FIG. 7B, the terminal of the second to-be-compared section t1 generates a terminal inserting part parallel to the last word “T” of the second to-be-compared section t1′. Then, as shown in FIG. 7C, the processing unit 22 inserts the continued to-be-compared words “TAACG . . . ” of the first to-be-compared file D after the terminal inserting part and inserts the continued to-be-compared words “AACTT . . . ” after the last word “T” of the second terminal section t1′, and resets the first to-be-compared section t2 and the second to-be-compared section t2′, wherein, the new first to-be-compared section t2 has the words of “TAACG”, and the new second to-be-compared section t2′ has the words of “AACTT”. Thus, due to using the best insertion method, the connection part of the terminal inserting part and the continued to-be-compared words result in the discontinuity.

FIGS. 8A to 8C are schematic diagrams of an improved type of the connection parts according to a preferred embodiment of the invention, wherein FIG. 8A is a schematic diagram of setting up the to-be-compared sections in the two to-be-compared files, FIG. 8B is a schematic diagram of the comparison result of the two to-be-compared sections, and FIG. 8C is a schematic diagram of resetting the to-be-compared sections in the two to-be-compared files according to a further embodiment of the present invention. In FIG. 8A, similar to FIG. 7A, the first to-be-compared file D has the words of “ATCGTTAACG . . . ”; the second to-be-compared file D′ has the words of “ATGTTAACTT . . . ”; the processing unit 22 sets up the first to-be-compared section t1 in the first to-be-compared file D, and sets up the second to-be-compared section t1′ in the second to-be-compared file D′, wherein the first section starting point is the start of the first to-be-compared file D, and the second section starting point is the start of the second to-be-compared file D′. The processing unit 22 compares the words in the first to-be-compared section t1 with the words in the second to-be-compared section t1′ in a one-to-one manner, so as to generate a comparison result. In FIG. 8B, similar to FIG. 7B, it shows the comparison result of using the best insertion method to perform comparison operation on the first to-be-compared section t1 and the second to-be-compared section t1′ by the processing unit 22, wherein the comparison result of the first to-be-compared section t1 has a terminal inserting part parallel to the last word “T” of the second terminal section t1′. Then, as shown in FIG. 8C, the processing unit 22 inserts the continued to-be-compared words “TAACG . . . ” of the first to-be-compared file D into the terminal inserting part and inserts the continued to-be-compared words “AACTT . . . ” after the last word “T” of the second terminal section t1′, so that the terminal inserting part can be replaced. Then, the processing unit 22 resets the first to-be-compared section t2 and the second to-be-compared section t2′, wherein the new first to-be-compared section t2 has the words of “TAACG”. Different from FIG. 7C, due to the start point of the new second to-be-compared section t2′ is the last word “T” of the second to-be-compared section t1′, the second to-be-compared section t1′ has the words of “TAACT”. Thus, the discontinuity on the terminal inserting part can be avoided.

FIG. 9 is a flow chart of a further comparison method for comparing test pattern files of a wafer tester according to the embodiment in FIGS. 8A, 8B and 8C of the present invention. In step (S1), inputting the first to-be-compared file and the second to-be-compared file into the comparison device; then in step (S2), the comparison device storing the first to-be-compared file and the second to-be-compared file into the storage unit; then in step (S3), the processing unit reading the first to-be-compared file and the second to-be-compared file from the storage unit, setting up a first section starting point and a first section ending point in the first to-be-compared file, setting up a second section starting point and a second section ending point in the second to-be-compared file, executing comparison operation, and generating the comparison result; then in step (S4), the processing unit determining whether the first section ending point is an end of the first to-be-compared file and the second section ending point is an end of the second to-be-compared file and, if yes, finishing the method, otherwise executing step (S5); in step (S5), the processing unit resetting the first section starting point and the first section ending point in the first to-be-compared file, and resetting the second section starting point and the second section ending point in the second to-be-compared file according the comparison result in step (S3), i.e., locations of the first section starting point and the second section starting point are determined by the processing unit according to the comparison result. If it is determined that the comparison result of the first to-be-compared section has a terminal inserting part and the comparison result of the second to-be-compared section has no terminal inserting part, a reset location of the first section starting point is in the terminal inserting part and the word on the reset location of the first section starting point replaces the terminal inserting part, and the final word of the second to-be-compared section is reset as a reset location of the second section starting point. Thus, the two to-be-compared section (t1 and t2, or t1′ and t2′) are continued, so the method also performs a determination on the comparison result for adjusting the position of the section starting point when resetting the to-be-compared section, so as to avoid comparison accuracy reduction caused by discontinuity.

Besides, step (S5) of the methods of FIG. 9 can further include the processing unit generating a section score table according to the words in the first to-be-compared section and the second to-be-compared section, executing comparison operation respectively and filling comparison result in the section score table, and building up a comparison result, which is a section backtracking path.

FIG. 10 is a detailed flow chart of step (S5) of FIG. 9. First, step (S51) is executed, and the processing unit 22 checks whether the comparison results of the two to-be-compared sections generates the terminal inserting part via the best inserting method. If no, step (S52) is executed, and the processing unit 22 respectively sets up the continued to-be-compared word after the last word of the comparison result of the to-be-compared section. Then, step (S53) is executed, and the processing unit 22 respectively sets up the first word of the continued to-be-compared word as the starting point of the new to-be-compared section. If the determination of step (S51) is affirmative, step (S54) is executed, and the processing unit 22 analyzes which to-be-compared section has the inserting part, sets up the continued to-be-compared words of the to-be-compared file having the to-be-compared section with the terminal inserting part into the terminal inserting part, and uses the first word of the continued to-be-compared words to replace the terminal inserting part. The continued to-be-compared words of the to-be-compared file having the to-be-compared section without the terminal inserting part is performed with the connection as same as step (52). Then, step (S55) is executed, the processing unit 22 sets up the word replacing the terminal inserting part as the starting point of the new to-be-compared section. At the same time, step (S56) is executed, and the processing unit 22 sets up the last word of the to-be-compared section of the other to-be-compared file as the starting point of the new to-be-compared section. Then, step (S57) is executed, and the comparison of the two new to-be-compared sections is executed.

Comparing FIG. 7C and FIG. 8C, the improved connection type of the invention can maintain the continuity of the to-be-compared file and thus keep excellent comparison speed.

The comparison method of the present invention is provided for quickly and effectively performing comparison on two text files with large file size, which respectively cuts two to-be-compared files into multiple to-be-compared sections and compares the words in them sequentially; hence, the comparison speed does not decrease quickly with increasing of the file size. In addition, the comparison method of the present invention performs a determination on the comparison result, so as to adjust the position of the section starting point of the reset to-be-compared section, so as to avoid comparison accuracy reduction caused by discontinuity.

Since the differences between two different test pattern files can be quickly marked, performing comparison operation of the present invention is really helpful for wafer manufacturers to control files, such as the test pattern files with different versions.

In addition, when performing comparison operation of the present invention, users can choose to use the method of the shortest path or the best insertion according to comparison conditions, such as file property and comparison purpose, and users can also adjust required comparison accuracy and choose performing a global comparison or a difference comparison.

Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed. 

What is claimed is:
 1. A comparison device for comparing test pattern files of a wafer tester, which is provided for comparing a first to-be-compared file with a second to-be-compared file, wherein the first to-be-compared file and the second to-be-compared file are text files, the comparison device comprising: a storage unit for storing the first to-be-compared file and the second to-be-compared file; and a processing unit for reading the storage unit and processing and executing comparison operation for the first to-be-compared file and the second to-be-compared file to generate a comparison result, the comparison operation comparing words in a first section having a first section starting point and a first section ending point of the first to-be-compared file with words in a second section having a second section starting point and a second section ending point of the second to-be-compared file in a one-to-one manner, wherein, if it is determined that the first section ending point is not the end of the first to-be-compared file or the second section ending point is not the end of the second to-be-compared file, the processing unit resets the first section starting point, the first section ending point, the second section starting point and the second section ending point, and executes comparison operation again, and wherein locations of the first section starting point and the second section starting point are determined by the processing unit according to the comparison result and, if it is determined that the comparison result of the first to-be-compared section has a terminal inserting part, a reset location of the first section starting point is in the terminal inserting part and the word on the reset location of the first section starting point replaces the terminal inserting part.
 2. The comparison device as claimed in claim 1, wherein, if it is determined that the comparison result of the first to-be-compared section has a terminal inserting part and the comparison result of the second section has no terminal inserting part, the final word of the second section is reset as a reset location of the second section starting point.
 3. The comparison device as claimed in claim 1, wherein the first section starting point is a start of the first to-be-compared file, and the second section starting point is a start of the second to-be-compared file.
 4. The comparison device as claimed in claim 1, wherein the comparison operation executed for the first to-be-compared section and the second to-be-compared section is to generate a section score table according to the words in the first to-be-compared section and the second to-be-compared section first, execute comparison operation respectively and fill the comparison result in the section score table, and the processing unit builds up a comparison result, which is a section backtracking path.
 5. The comparison device as claimed in claim 1 wherein the processing unit further performs a determination on the comparison result and, if it is determined that the first section ending point is an end of the first to-be-compared file and the second section ending point is an end of the second to-be-compared file, the processing unit processes the generated comparison result to generate the comparison result.
 6. The comparison device as claimed in claim 1, wherein the first to-be-compared file and the second to-be-compared file each have a file size greater than 1 GB.
 7. The comparison device as claimed in claim 4, wherein the processing unit performs comparison operation for the first to-be-compared section and the second to-be-compared section according to an equation, and the comparison result is stored as a number array and a direction array based on which the section backtracking path is generated, and wherein the number array includes multiple numbers, the direction array includes multiple source direction indexes, the equation is used for calculating the numbers, and the source direction indexes are determined from the calculated numbers.
 8. The comparison device as claimed in claim 7, wherein the equation is: ${{S\left( {i,0} \right)} = {0 - i}},{{S\left( {0,j} \right)} = {0 - j}},{{S\left( {i,j} \right)} = {{Max}\left\{ {\begin{matrix} {{S\left( {{i - 1},{j - 1}} \right)} + 2} & {{{if}\mspace{14mu} {D(i)}} = {D^{\prime}(j)}} \\ {{S\left( {{i - 1},{j - 1}} \right)} - 1} & {{{if}\mspace{14mu} {D(i)}} \neq {D^{\prime}(j)}} \\ {S\left( {i,{j - 1}} \right)} & \; \\ {S\left( {{i - 1},j} \right)} & \; \end{matrix},{i = 1},2,3,{{\ldots j} = 1},2,{3\mspace{14mu} \ldots},} \right.}}$ where i is an ordinal number of the words in the first to-be-compared section, j is an ordinal number of the words in the second to-be-compared section, S(i, j) is the numbers, and D(i) and D′(j) are contents of the first to-be-compared section and the second to-be-compared section respectively; the source direction indexes are one-to-one mapping to the numbers to record a source direction of the numbers S(i, j).
 9. The comparison device as claimed in claim 8, wherein a flag array is provided for recording whether the words in the first to-be-compared section and the second to-be-compared section are the same or not for allowing the processing unit to execute operation.
 10. A comparison method for comparing test pattern files of a wafer tester, which is used for comparing a first to-be-compared file with a second to-be-compared file by a computer device, the first to-be-compared file and the second to-be-compared file being text files, the computer device including a storage unit for storing files and a processing unit for processing and executing comparison operation to generate a comparison result, the comparison operation being to compare words in a first section of the first to-be-compared file with words in a second section of the second to-be-compared file, the comparison method comprising the steps of: (A) inputting the first to-be-compared file and the second to-be-compared file into the comparison device; (B) the comparison device storing the first to-be-compared file and the second to-be-compared file into the storage unit; (C) the processing unit reading the first to-be-compared file and the second to-be-compared file from the storage unit, setting up a first section starting point and a first section ending point in the first to-be-compared file, setting up a second section starting point and a second section ending point in the second to-be-compared file, executing comparison operation, and generating the comparison result; (D) the processing unit determining whether the first section ending point is an end of the first to-be-compared file and the second section ending point is an end of the second to-be-compared file and, if yes, finishing the method, otherwise executing step (E); (E) the processing unit resetting the first section starting point and the first section ending point in the first to-be-compared file, and resetting the second section starting point and the second section ending point in the second to-be-compared file, wherein locations of the first section starting point and the second section starting point are determined by the processing unit according to the comparison result and, if it is determined that the comparison result of the first to-be-compared section has a terminal inserting part, a reset location of the first section starting point is in the terminal inserting part and the word on the reset location of the first section starting point replaces the terminal inserting part, and then executing comparison operation and generating the comparison result.
 11. The comparison method as claimed in claim 10, wherein step (E) further comprises the step of: (E1) if it is determined that the comparison result of the first to-be-compared section has a terminal inserting part and the comparison result of the second to-be-compared section has no terminal inserting part, the final word of the second to-be-compared section is reset as a reset location of the second section starting point.
 12. The comparison method as claimed in claim 10, wherein step (C) further comprises the step of: the processing unit generating a section score table according to the words in the first to-be-compared section and the second to-be-compared section, executing comparison operation respectively and filling comparison result in the section score table, and building up a comparison result, which is a section backtracking path.
 13. The comparison device as claimed in claim 10, wherein the comparison operation executed for the first to-be-compared section and the second to-be-compared section is to generate a section score table according to the words in the first to-be-compared section and the second to-be-compared section first, execute comparison operation respectively and fill the comparison result in the section score table, and the processing unit builds up a comparison result, which is a section backtracking path.
 14. The comparison device as claimed in claim 13, wherein the processing unit performs comparison operation for the first to-be-compared section and the second to-be-compared section according to an equation, and the comparison result is stored as a number array and a direction array based on which the section backtracking path is generated, and wherein the number array includes multiple numbers, the direction array includes multiple source direction indexes, the equation is used for calculating the numbers, and the source direction indexes are determined from the calculated numbers.
 15. The comparison device as claimed in claim 14, wherein the equation is: ${{S\left( {i,0} \right)} = {0 - i}},{{S\left( {0,j} \right)} = {0 - j}},{{S\left( {i,j} \right)} = {{Max}\left\{ {\begin{matrix} {{S\left( {{i - 1},{j - 1}} \right)} + 2} & {{{if}\mspace{14mu} {D(i)}} = {D^{\prime}(j)}} \\ {{S\left( {{i - 1},{j - 1}} \right)} - 1} & {{{if}\mspace{14mu} {D(i)}} \neq {D^{\prime}(j)}} \\ {S\left( {i,{j - 1}} \right)} & \; \\ {S\left( {{i - 1},j} \right)} & \; \end{matrix},{i = 1},2,3,{{\ldots j} = 1},2,{3\mspace{14mu} \ldots},} \right.}}$ where i is an ordinal number of the words in the first to-be-compared section, j is an ordinal number of the words in the second to-be-compared section, S(i, j) represents the numbers, and D(i) and D′(j) are contents of the first to-be-compared section and the second to-be-compared section respectively; the source direction indexes are one-to-one mapping to the numbers to record a source direction of the numbers S(i, j). 